package henu.yyq;

import org.drools.core.base.RuleNameEqualsAgendaFilter;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;

/**
 * @author beats
 */
public class HelloWorld {

    public static void main(String[] args) {
        //通过KieServices来获取各种对象来完成规则构建、管理和执行等操作
        KieServices ks = KieServices.Factory.get();
        //KieContainer是KieBase的容器，KieBase是一个知识仓库，包含规则、方法等
        KieContainer kc = ks.getKieClasspathContainer();

        //KIE默认读取src/main/resources/META-INF/kmodule.xml文件，并生成KieSession
        KieSession kieSession = kc.newKieSession("demo-ksession-rules");

        //将事实（Fact）插入到引擎
        kieSession.insert(true);

        //通知规则引擎执行规则
//        kieSession.fireAllRules(new RuleNameEndsWithAgendaFilter("world"));
        kieSession.fireAllRules(new RuleNameEqualsAgendaFilter("helloworld"));

        kieSession.dispose();
    }

}
